Summary of Ethereum's scaling technologies
Public.icon
Now looking back at this tweet, I don't know what I was saying.
/emoji/twitter.icon The serious Layer 2s like Plasma and State Channels are called "Ethereum L2", while OPU and Labor Union are called "Semi-Layer 2"? 1. Transition transaction verification from PoW to PoS (commonly known as Casper). In PoS, unlike PoW, no computational resources are required. Instead, a deposit called Stake is made, and the more stake one has, the higher the probability of being granted the right to generate blocks. 2. Sharding, dividing the database horizontally for parallel processing. Divide each node into groups called Shards and perform parallel processing for each group regarding transactions. Originally, Sharding was a database system term that referred to dividing the database horizontally, but the attempt with Sharding is to execute the same thing on Ethereum, which is a world computer.
This initiative is essential to transition to PoS, as power balance needs to be adjusted considering hash power.
If a shard randomly selected has a concentration of miners with low hash power, it is easy to attack this shard with PoW. However, with PoS, validators who have deposited stake are identified, so algorithmic decision-making can be made simply by allocating them to each shard.
https://gyazo.com/4d0c4e7577845453f6f6cb2f446301f2 https://github.com/ethereum/wiki/wiki/Sharding-FAQs
3. Plasma, processing part of transactions on a side chain This is not a specific product name, but a concept (similar to L2 today) https://plasma.io/plasma.pdf https://gyazo.com/9446108dc0d16b273a8f1a17e03feeb4
https://gyazo.com/c846b1f424fbb3a9a9c19ba96f9fd356
To scale, there are the following methods:
1. Increase transaction capacity
Increasing the block size goes against decentralization
Use techniques such as sharding to process more efficiently Eth2 is trying to tackle this 2. Do not process everything on the same layer, but divide and process together
To summarize, there are the following methods:
(There seems to be a concept called Validium?) though naming controversies exist at the edges, eg. see "validium"
https://medium.com/starkware/volition-and-the-emerging-data-availability-spectrum-87e8bfa09bb https://gyazo.com/d78be2f5d6e642e07d27b624fcac89b8
Hybrid of Channel and Side Chain
Perform data and calculations on a chain separate from Layer1
Can only be used for specific purposes
State Channels - an explanation
Has its own consensus algorithm
How is the sent batch validated as valid on the Layer1 side?
The data sent from Layer2 to Layer1 is assumed to be valid.
The group submitting to Layer1 must deposit a collateral(ETH) in advance. The smart contract on the Layer1 side has the ability to monitor the batch of transaction data.
If an invalid transaction data is sent and caught by the monitoring, the collateral of the group that sent it will be confiscated.
The submitted data may take up to a week to be added to Layer1.
The batch of transaction data contains encrypted text called zk-SNARK. The smart contract on the Layer1 side verifies it.